#ifndef MTF_H_
#define MTF_H_

/*
 * mtf.h
 */

#define RANGO 256

typedef struct struct_MTFTabla {
		unsigned char tabla[RANGO];  // tabla de simbolos para el algoritmo MTF
} Tipo_MTFTabla;

//Genera tabla con codigo ASCII
void mtf_inicializar(Tipo_MTFTabla * const mTFTabla);

// Transformar un bloque de caracteres usando MTF
void mtf_codificar(Tipo_MTFTabla * const mTFTabla, unsigned char * const bloque, unsigned int const bloqueLongitud);

// Transformar un bloque de posiciones usando MTF inverso
void mtf_decodificar(Tipo_MTFTabla * const mTFTabla, unsigned char * const bloque, unsigned int const bloqueLongitud);

#endif /* MTF_H_ */
